草庐IT

SQL 多列过滤

全部标签

php - Twig nl2br 过滤器不适用于实体

我有一个带有__toString()方法的地址实体,如下所示:publicfunction__toString(){$result=$this->getStreet();if($this->getStreet2())$result.='\n'.$this->getStreet2();$result.='\n'.$this->getZipCode().''.$this->getCity();return$result;}在我的模板中,我应用了Twignl2brfilter在实体上:{{user.address|nl2br}}但我仍然得到转义的\n:1107西亚当斯大道\n90007加利福

php - pg_prepare() 准备好的语句(不是 PDO)是否可以防止 SQL 注入(inject)?

我正在处理的目标系统不支持PDO,尽管我在上使用PHP5.1.x寻求防止SQL注入(inject)的解决方案PostGres-DB8.2+。目前没有切换到PDO的机会。我目前的解决方案是pg_prepare-prepared语句://TryingtopreventSQL-Injection$query='SELECT*FROMuserWHERElogin=$1andpassword=md5($2)';$result=pg_prepare($dbconn,"",$query);$result=pg_execute($dbconn,"",array($_POST["user"],$_POS

php - 使用 "AND"表达式构建动态 SQL 而不会混淆嵌套条件?

我对php和一般编码还很陌生。我有一系列条件需要测试它们是否已设置。它们是$option1,$option2,$option3if(isset($option1)){if(isset($option2)){if(isset($option3)){$query="SELECT*FROMGroupWHEREFirstOption='$option1'ANDSecondOption='$option2'ANDThirdOption='$option3'";}else{$query="SELECT*FROMGroupWHEREFirstOption='$option1'ANDSecondOpt

php - 使用正则表达式过滤固定长度为0或4位的年份

我想在php或javascript中使用正则表达式过滤年份。仅包含数字,长度为0(如果未输入)或4(如果(插入))ex123不接受1、2或3长度。我知道0到4位的正则表达式是^[0-9]{0,4}$或^\d{0,4}$ 最佳答案 尝试以下操作:^([0-9]{4})?$^-行首([0-9]{4})?-四个数字,可选(因为?)$-行尾 关于php-使用正则表达式过滤固定长度为0或4位的年份,我们在StackOverflow上找到一个类似的问题: https://

php - 将变量传递给 wordpress 过滤器中的匿名函数

我正在尝试覆盖在wordpress中创建SEO标题的插件。过滤器可以完成工作,但我需要动态创建标题。所以我创建了标题,然后将它传递给一个匿名函数。我可以有另一个创建标题的函数,这样肯定会更干净......这行得通functionseo_function(){add_filter('wpseo_title',function(){return'testseotitle';});}这不是functionseo_function(){//createtitleabove$title="testseotitle";add_filter('wpseo_title',function($title

php - GridView 中相关模型的过滤器设置

我正在尝试在Yii2的GridView中为相关模型设置过滤器小部件,但我不断收到错误消息,例如过滤器值必须是整数。我关注了thisquestion.现在,我有两个模型Services.php和ServiceCharge.php。在ServiceCharge.php中,关系设置如下:publicfunctiongetServiceName(){return$this->hasOne(Services::className(),['id'=>'service_name']);}在ServiceChargeSearch.php中的代码是这样的:$query,]);$dataProvider-

php - 使用 PHP 通过 sqlsrv 驱动程序在 sql server 中插入当前日期时间

到目前为止,我已经尝试过了$sql="INSERTINTOtable-name(col-name)values(cureent_timestamp)";并将列数据类型设置为datetime,我得到一些值但没有日期或时间。 最佳答案 GETDATE()应该给你当前日期:$sql="INSERTINTOdb-name(col-name)VALUES(GETDATE())"; 关于php-使用PHP通过sqlsrv驱动程序在sqlserver中插入当前日期时间,我们在StackOverflow

php - Laravel Eloquent : is SQL injection prevention done automatically?

给定示例代码(Message是一个Eloquent模型。):publicfunctionsubmit(Request$request){$this->validate($request,['name'=>"required","email"=>"required"]);//databaseconnection$message=newMessage;$message->name=$request->input("name");$message->email=$request->input("email");$message->save();}Eloquent是否使用参数化查询(如PDO)

php - 解析 SQL 字符串

将sql字符串解析为单独的组件的好方法是什么?我试过使用正则表达式,但我无法让它正常工作。比如说:"SELECT*FROMtblWHEREuser_id>50"将创建一个包含所有组件的数组$arr[0]="SELECT";$arr[1]="*";$arr[2]="FROM";等...谢谢 最佳答案 我会选择可以集成到您的语言中的sql解析器:不要重新发明轮子。我没有特别推荐使用哪一种,但我相信您可以找到满足您需要的一种。参见相关:PHPMySQLSQLparser(INSERTandUPDATE)

php - 一个 SQL 查询,还是一个循环中的多个?

我需要从表中提取几行并以两种方式处理它们:聚合在一个键上逐行,按相同的键排序表格大致如下:table(key,string_data,numeric_data)所以我正在研究我正在编写的函数的两种方法。第一种是通过一次查询拉取聚合数据,然后在循环中再次查询每组逐行数据(以下是类似PHP的伪代码):$rows=query("SELECTkey,SUM(numeric_data)FROMtableGROUPBYkey");foreach($rowsas$row){$key=$row['key'];$row_by_row_data=handle_individual_rows($key);}